package com.google.code.gronono.commons.swing.listeners;

import java.awt.Component;
import java.awt.Window;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;

import javax.swing.JFrame;

/**
 * Listener permettant de ne pas redimensionner un {@link Component} au dessous de sa taille minimale.<br/>
 * Généralement le {@link Component} est une sous-classe de {@link Window} (par exemple {@link JFrame}).
 * @author Arnaud BRUNET
 */
public class MinSizeComponentListener extends ComponentAdapter {

	/*
	 * (non-Javadoc)
	 * @see java.awt.event.ComponentAdapter#componentResized(java.awt.event.ComponentEvent)
	 */
	@Override
	public void componentResized(final ComponentEvent e) {
		final Component cp = e.getComponent();
        if (cp.getSize().width < cp.getMinimumSize().width){
        	cp.setSize(cp.getMinimumSize().width, cp.getSize().height);
        }
        if (cp.getSize().height < cp.getMinimumSize().height){
        	cp.setSize(cp.getSize().width, cp.getMinimumSize().height);
        }
	}

}
